// +----------------------------------------------------------------------
// | JavaWeb_EleVue_Pro前后端分离旗舰版框架 [ JavaWeb ]
// +----------------------------------------------------------------------
// | 版权所有 2021 上海JavaWeb研发中心
// +----------------------------------------------------------------------
// | 官方网站: http://www.javaweb.vip/
// +----------------------------------------------------------------------
// | 作者: 鲲鹏 <javaweb520@gmail.com>
// +----------------------------------------------------------------------
// | 免责声明:
// | 本软件框架禁止任何单位和个人用于任何违法、侵害他人合法利益等恶意的行为，禁止用于任何违
// | 反我国法律法规的一切平台研发，任何单位和个人使用本软件框架用于产品研发而产生的任何意外
// | 、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带
// | 或衍生的损失等)，本团队不承担任何法律责任。本软件框架只能用于公司和个人内部的法律所允
// | 许的合法合规的软件产品研发，详细声明内容请阅读《框架免责声明》附件；
// +----------------------------------------------------------------------

package com.javaweb.common.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

@Configuration
@Data
public class CommonConfig {

    /**
     * NC Webservice地址
     */
    public static String ncServiceUrl;

    //云简->NC付款单Webservice地址
    public static String ncServiceUrlYJ;

    //康德乐回写->NCWebservice地址
    public static String ncServiceUrlKdl;

    //sso单点登录服务地址
    public static String ssoServiceUrl;
    public static String ssoClientId;
    public static String ssoClientSecret;


    /**
     * NC 公司编码
     */
    public static String ncOrgCode;
    public static String kdlOrgCode;
    public static String kdlBillMaker;
    public static String kdlApprover;

    public static String kdlCbizid;

    public static String kdlSftpUserName;
    public static String kdlSftpPassword;
    public static String kdlSftpServer;
    public static Integer kdlSftpPort;
    public static String kdlSftpBasePath;
    public static String kdlSftpCOAPath;
    public static String kdlSftpQFFPath;


    //日志目录
    public static String ncLogFilePath;


    //异常反馈文件目录
    public static String qffAttachFilePath;

    //异常反馈文件目录
    public static String oaqffAttachFilePath;
    //药检报告本地保存目录
    public static String coaAttachFilePath;
    /**
     * 判断NC单据号重复关键字
     */
    public static String ncBillKey;

    /**
     * 图片域名
     */
    public static String imageURL;

    //BIP接口appid
    public static String appId;
    //BIP接口秘钥
    public static String appSecret;

    //BIP接口appid
    public static String appIdSandbox;
    //BIP接口秘钥
    public static String appSecretSandbox;

    /**
     * 是否启动定时认为：true是,false否
     */
    public static boolean enableSchedule;

    /**
     * 是否康德乐测试环境
     */
    public static boolean kdlSandbox;

    /**
     * 康德乐接口用户名
     */
    public static String kdlUserName;

    /**
     * 康德乐接口用户密码
     */
    public static String kdlPassword;

    /**
     * 康德乐药企id
     */
    public static String kdlCompanyId;

    /**
     * 是否演示环境：true是,false否
     */
    public static boolean appDebug;

    @Value("${spring.ncservice.url}")
    public void setNcServiceUrl(String url) {
        ncServiceUrl = url;
    }

    @Value("${spring.ncservice.urlyj}")
    public void setNcServiceUrlYJ(String url) {
        ncServiceUrlYJ = url;
    }

    @Value("${spring.ncservice.urlkdl}")
    public void setNcServiceUrlKdl(String url) {
        ncServiceUrlKdl = url;
    }

    @Value("${spring.ncservice.orgcode}")
    public void setNcOrgCode(String orgcode) {
        ncOrgCode = orgcode;
    }

    @Value("${spring.ncservice.kdlorgcode}")
    public void setKdlOrgCode(String orgcode) {
        kdlOrgCode = orgcode;
    }

    @Value("${spring.ncservice.kdlApprover}")
    public void setKdlApprover(String kdlapprover) {
        kdlApprover = kdlapprover;
    }

    @Value("${spring.ncservice.kdlBillMaker}")
    public void setkdlBillMaker(String kdlbillMaker) {
        kdlBillMaker = kdlbillMaker;
    }

    @Value("${spring.ncservice.kdlCbizid}")
    public void setKdlCbizid(String cbizid) {
        kdlCbizid = cbizid;
    }

    @Value("${spring.ncservice.billkey}")
    public void setNcBillKey(String billkey) {
        ncBillKey = billkey;
    }

    @Value("${file.logpath}")
    public void setNcLogFilePath(String logpath) {
        ncLogFilePath = logpath;
    }

    @Value("${file.qffattach}")
    public void setQffAttachFilePath(String logpath) {
        qffAttachFilePath = logpath;
    }

    @Value("${file.oaqffattach}")
    public void setOaqffAttachFilePath(String logpath) {
        oaqffAttachFilePath = logpath;
    }

    @Value("${file.coaattach}")
    public void setCoaAttachFilePath(String logpath) {
        coaAttachFilePath = logpath;
    }

    @Value("${javaweb.bip.appid}")
    public void setAppId(String id) {
        appId = id;
    }

    @Value("${javaweb.bip.appsecret}")
    public void setAppSecret(String secret) {
        appSecret = secret;
    }

    @Value("${javaweb.bipsandbox.appid}")
    public void setAppIdSandBox(String id) {
        appIdSandbox = id;
    }

    @Value("${javaweb.bipsandbox.appsecret}")
    public void setAppSecretSandbox(String secret) {
        appSecretSandbox = secret;
    }

    /**
     * 图片域名赋值
     *
     * @param url 域名地址
     */
    @Value("${javaweb.image-url}")
    public void setImageURL(String url) {
        imageURL = url;
    }

    /**
     * 是否演示模式
     *
     * @param debug
     */
    @Value("${javaweb.app-debug}")
    public void setAppDebug(boolean debug) {
        appDebug = debug;
    }

    @Value("${javaweb.enableschedule}")
    public void setEnableSchedule(boolean value) {
        enableSchedule = value;
    }

    @Value("${javaweb.kdl.sandbox}")
    public void setKdlSandbox(boolean value) {
        kdlSandbox = value;
    }

    @Value("${javaweb.kdl.username}")
    public void setKdlUserName(String value) {
        kdlUserName = value;
    }

    @Value("${javaweb.kdl.password}")
    public void setKdlPassword(String value) {
        kdlPassword = value;
    }

    @Value("${javaweb.kdl.companyid}")
    public void setKdlCompanyId(String value) {
        kdlCompanyId = value;
    }

    @Value("${javaweb.kdl.sftp.username}")
    public void setKdlSftpUserName(String value) {
        kdlSftpUserName = value;
    }
    @Value("${javaweb.kdl.sftp.password}")
    public void setKdlSftpPassword(String value) {
        kdlSftpPassword = value;
    }
    @Value("${javaweb.kdl.sftp.server}")
    public void setKdlSftpServer(String value) {
        kdlSftpServer = value;
    }
    @Value("${javaweb.kdl.sftp.port}")
    public void setKdlSftpPort(Integer value) {
        kdlSftpPort = value;
    }
    @Value("${javaweb.kdl.sftp.basepath}")
    public void setKdlSftpBasePath(String value) {
        kdlSftpBasePath = value;
    }
    @Value("${javaweb.kdl.sftp.qffpath}")
    public void setKdlSftpQFFPath(String value) {
        kdlSftpQFFPath = value;
    }
    @Value("${javaweb.kdl.sftp.coapath}")
    public void setKdlSftpCOAPath(String value) {
        kdlSftpCOAPath = value;
    }

    @Value("${javaweb.sso.url}")
    public void setSsoServiceUrl(String value) {
        ssoServiceUrl = value;
    }

    @Value("${javaweb.sso.clientid}")
    public void setSsoClientId(String value) {
        ssoClientId = value;
    }

    @Value("${javaweb.sso.clientsecret}")
    public void setSsoClientSecret(String value) {
        ssoClientSecret = value;
    }
}
